<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
	"http://www.w3.org/TR/html4/strict.dtd">
<html>
	<head>
		<title>Dojo Slider Widget Demo</title>

		<style type="text/css">
			@import "../../../dojo/resources/dojo.css";
			@import "../css/dijitTests.css";
			#slider2 .dijitButtonNode {
				width:12px;
				height:12px;
				border: none;
				font-size:11px;
				padding:0px;
			}
		</style>
		
		<script type="text/javascript" src="../../../dojo/dojo.js"
			djConfig="isDebug: true, parseOnLoad: true, extraLocale: ['de-de', 'en-us']"></script>
		<script type="text/javascript" src="../_testCommon.js"></script>

		<script type="text/javascript">
				dojo.require("dijit.form.Slider");
				dojo.require("dijit.form.Button");
				dojo.require("dojo.parser"); // scan page for widgets

				// programatic vertical slider and labels
				var programaticExample = function(){
					
					var node = dojo.byId("programaticSlider");
					// or var node = dojo.body().appendChild(document.createElement('div'));

					// our rules are to be children of the slider
					var rulesNode = document.createElement('div');
					node.appendChild(rulesNode);

					// setup the rules
					var sliderRules = new dijit.form.VerticalRule({
						count:11,
						style:"width:5px" 
					},rulesNode);

					// and setup the slider
					var theSlider = new dijit.form.VerticalSlider({ 
						value:1400,
						onChange: function(){
                                                    console.log(arguments);
						},
						name:"programaticSlider",
						slideDuration:0,
						onChange:function(val){ dojo.byId('sliderProgInput').value=val; },
						style:"height:165px",
						minimum:1000,
						maximum:3000,
						discreteValues:11,
						intermediateChanges:"true",
						showButtons:"true"
					},node);

					// and start them both
					theSlider.startup();
        				sliderRules.startup();

				};
				dojo.addOnLoad(programaticExample);
	
				dojo.addOnLoad(function(){
					dijit.byId("sliderH2").setAttribute('disabled',true);
				});
		</script>
	</head>

	<body>
		<h1 class="testTitle">Slider</h1>
		Also try using the arrow keys, buttons, or clicking on the progress bar to move the slider.
		<br>
		<!--    to test form submission, you'll need to create an action handler similar to
			http://www.utexas.edu/teamweb/cgi-bin/generic.cgi -->
		<form id="form1" action="" name="example" method="post">
		<br>initial value=10, min=0, max=100, pageIncrement=100, onChange event triggers input box value change immediately<br>

		<div dojoType="dijit.form.HorizontalSlider" name="horizontal1"
			onChange="dojo.byId('slider1input').value=dojo.number.format(arguments[0]/100,{places:1,pattern:'#%'});"
			value="10"
			maximum="100"
			minimum="0"
			pageIncrement="100"
			showButtons="false"
			intermediateChanges="true"
			style="width:50%; height: 20px;"
			id="slider1">
				<ol dojoType="dijit.form.HorizontalRuleLabels" container="topDecoration" style="height:1.2em;font-size:75%;color:gray;" count="6" numericMargin="1"></ol>
				<div dojoType="dijit.form.HorizontalRule" container="topDecoration" count=6 style="height:5px;"></div>
				<div dojoType="dijit.form.HorizontalRule" container="bottomDecoration" count=5 style="height:5px;"></div>
				<ol dojoType="dijit.form.HorizontalRuleLabels" container="bottomDecoration" style="height:1em;font-size:75%;color:gray;">
					<li>lowest</li>
					<li>normal</li>
					<li>highest</li>
				</ol>
		</div>

		Slider1 Value:<input readonly id="slider1input" size="4" value="10.0%">
		<br>
		<button id="disableButton" dojoType="dijit.form.Button" onClick="dijit.byId('slider1').setAttribute('disabled', true);dijit.byId('disableButton').setAttribute('disabled',true);dijit.byId('enableButton').setAttribute('disabled',false);">Disable previous slider</button>
		<button id="enableButton"  dojoType="dijit.form.Button" onClick="dijit.byId('slider1').setAttribute('disabled',false);dijit.byId('disableButton').setAttribute('disabled',false);dijit.byId('enableButton').setAttribute('disabled', true);" disabled>Enable previous slider</button>
		<br>
		<br>initial value=10, min=0, max=100, onChange event triggers input box value change when you mouse up or tab away<br>
		<div dojoType="dijit.form.VerticalSlider" name="vertical1"
			onChange="dojo.byId('slider2input').value=arguments[0];"
			value="10"
			maximum="100"
			minimum="0"
			discreteValues="11"
			style="height:300px;"
			id="slider2">
				<ol dojoType="dijit.form.VerticalRuleLabels" container="leftDecoration" style="width:2em;color:gray;" labelStyle="right:0px;">
					<li>0</li>
					<li>100</li>
				</ol>
				<div dojoType="dijit.form.VerticalRule" container="leftDecoration" count=11 style="width:5px;" ruleStyle="border-color:gray;"></div>
				<div dojoType="dijit.form.VerticalRule" container="rightDecoration" count=11 style="width:5px;" ruleStyle="border-color:gray;"></div>
				<ol dojoType="dijit.form.VerticalRuleLabels" container="rightDecoration" style="width:2em;color:gray;" count="6" numericMargin="1" maximum="100" constraints={pattern:'#'}></ol>
		</div>
		Slider2 Value:<input readonly id="slider2input" size="3" value="10">
		<h1>Fancy HTML labels (no slide animation):</h1>
		<div dojoType="dijit.form.HorizontalSlider" name="horizontal2"
			minimum="1"
			value="2"
			maximum="3"
			discreteValues="3"
			showButtons="false"
			intermediateChanges="true"
			slideDuration="0"
			style="width:300px; height: 40px;"
			id="slider3">
				<div dojoType="dijit.form.HorizontalRule" container="bottomDecoration" count=3 style="height:5px;"></div>
				<ol dojoType="dijit.form.HorizontalRuleLabels" container="bottomDecoration" style="height:1em;font-size:75%;color:gray;">
					<li><img width=10 height=10 src="../images/note.gif"><br><span style="font-size: small">small</span></li>
					<li><img width=15 height=15 src="../images/note.gif"><br><span style="font-size: medium">medium</span></li>
					<li><img width=20 height=20 src="../images/note.gif"><br><span style="font-size: large">large</span></li>
				</ol>
		</div>

		<p></p><h1>Standalone ruler example:</h1><p></p>

		<div style="width:2in;border-top:1px solid black;">
			<div dojoType="dijit.form.HorizontalRule" count=17 style="height:.4em;"></div>
			<div dojoType="dijit.form.HorizontalRule" count=9 style="height:.4em;"></div>
			<div dojoType="dijit.form.HorizontalRule" count=5 style="height:.4em;"></div>
			<div dojoType="dijit.form.HorizontalRule" count=3 style="height:.4em;"></div>
			<ol dojoType="dijit.form.HorizontalRuleLabels" labelStyle="font-style:monospace;font-size:.7em;margin:-1em 0px 0px -.35em;">
				<li></li>
				<li>1</li>
				<li>2</li>
			</ol>
		</div>

		<h1>horizontal, with buttons, disabled (to show styling):</h1>

		<div dojoType="dijit.form.HorizontalSlider" name="horizontalH2"
			onChange="dojo.byId('slider1input').value=arguments[0];"
			value="10"
			maximum="100"
			minimum="0"
			disabled="true"
			showButtons="true"
			intermediateChanges="true"
			style="width:50%; height: 20px;"
			id="sliderH2">
				<ol dojoType="dijit.form.HorizontalRuleLabels" container="topDecoration" style="height:1.2em;font-size:75%;color:gray;" count="7" constraints="{pattern:'#.00%'}"></ol>
				<div dojoType="dijit.form.HorizontalRule" container="topDecoration" count=7 style="height:5px;"></div>
				<div dojoType="dijit.form.HorizontalRule" container="bottomDecoration" count=5 style="height:5px;"></div>
				<ol dojoType="dijit.form.HorizontalRuleLabels" container="bottomDecoration" style="height:1em;font-size:75%;color:gray;">
					<li>lowest</li>
					<li>normal</li>
					<li>highest</li>
				</ol>
		</div>


		<h2>Completely Programatic VerticalSlider and VerticalRule</h2>
		<h3>min:1000, max:3000, 11 discrete values, no animation</h3>

		<div id="programaticSlider"></div>
		Programmatic Value:<input readonly id="sliderProgInput" size="5" value="1400">

		        <script>
                		function displayData() {
        		                var f = document.getElementById("form1");
		                        var s = "";
                        		for (var i = 0; i < f.elements.length; i++) {
                		                var elem = f.elements[i];
        		                        if (elem.name == "button")  { continue; }
		                                s += elem.name + ": " + elem.value + "\n";
                        		}
                		        alert(s);
        		        }
		        </script>

		        <div>
                		<button name="button" onclick="displayData(); return false;">view data</button>
        		        <input type="submit" name="submit" />
		        </div>

		</form>
	</body>
</html>
